refactor(conversations): read the conversation types from the server - #6650
Open
AndyScherzinger wants to merge 2 commits into
Open
Conversation
7 tasks
AndyScherzinger
force-pushed
the
refactor/noid/conversationPresetsEndpoint
branch
from
September 4, 2026 18:29
ac1ee9b to
11427d7
Compare
AndyScherzinger
force-pushed
the
bugfix/noid/conversationCreationParameters
branch
from
September 5, 2026 06:39
eb2dcca to
b6bd25c
Compare
AndyScherzinger
force-pushed
the
refactor/noid/conversationPresetsEndpoint
branch
from
September 5, 2026 06:39
11427d7 to
094f236
Compare
The conversation type cards were hardcoded, so the presets an installation offers, the parameters they apply and the values an administrator configured as the default were all ignored. They now come from the presets endpoint, and the grid renders whatever it reports. Parameters are applied in the documented order: the administrator configured defaults, then the selected type, then the parameters the user chose. Selecting a type drops the choices the user made for the parameters that type defines, so a type can still configure the visibility of a conversation. Assisted-by: Claude Code:claude-opus-5 Claude-Session: https://claude.ai/code/session_014YnDswTbCmRrVETnwE4twB Signed-off-by: Andy Scherzinger <[email protected]>
CapabilitiesUtil.isAdmin read config => conversations => is-admin, a capability the server does not publish, so it always returned false. Its last caller is gone now that the presets endpoint decides which conversation types a user is offered. Assisted-by: Claude Code:claude-opus-5 Claude-Session: https://claude.ai/code/session_014YnDswTbCmRrVETnwE4twB Signed-off-by: Andy Scherzinger <[email protected]>
AndyScherzinger
force-pushed
the
bugfix/noid/conversationCreationParameters
branch
from
September 5, 2026 10:47
b6bd25c to
0d12eca
Compare
AndyScherzinger
force-pushed
the
refactor/noid/conversationPresetsEndpoint
branch
from
September 5, 2026 10:47
094f236 to
2b80ea9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The conversation type cards were hardcoded, so which types an installation offers, the parameters
they apply and the values an administrator configured as the default were all ignored.
docs/capabilities.mddescribesconversation-presetsas "should be used by clients", so the listnow comes from
GET /ocs/v2.php/apps/spreed/api/v1/presets/roomand the grid renders whatever itreports. A type the server adds needs no app change beyond an icon and a label.
Parameters are applied in the order the server documents: the administrator configured defaults,
then the selected type, then the parameters the user chose. Selecting a type drops the user's choices
for the parameters that type defines, so a type can still configure the visibility of a conversation.
The hardcoded parameter table from the previous PR is deleted; only its shape survives, which was the
point of introducing it there.
This PR is stacked on #6649 and targets its branch, not
master. GitHub retargets it tomasteronce that one merges. The three missing conversation types (webinar, presentation, classified) follow
in the next PR on top of this one.
🖼️ Screenshots
🚧 TODO
🏁 Checklist
/backport to stable-xx.xCapabilities checked:
conversation-presetsgates the whole section,announcement-presetplus theadministrator check gate the announcement type. The presets endpoint is API v1 by its own route
definition, unlike the v4 room endpoints.
🤖 AI (if applicable)
🤖 Generated with Claude Code
https://claude.ai/code/session_014YnDswTbCmRrVETnwE4twB